﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace QuantumWorkspace.SessionManager.Interfaces
{
    public interface IDataCollection : INotifyCollectionChanged, INotifyPropertyChanged, IList, ICollection
    {
        string TableName { get; }

        IEnumerable Items
        {
            get; 
        }

        void DeleteItem(int index);

        void udpateItem(int index, object newRaw);

        /// <summary>
        /// The IDataCollection is responsible to update its data to the datastore
        /// </summary>
        void SaveChanges();
    }
}
